草庐IT

MongoDB 聚合 : multiple group + elements array

全部标签

mongodb - Sails 0.11 和 Sails-Mongo 0.11.2 唯一约束不起作用

我正在使用sails0.11和sails-mongo0.11.2适配器。我有一个带有昵称的用户模型,我希望昵称在每个用户中都是唯一的。我将属性指定为唯一的,如下所示:nickname:{type:'string',unique:true}它不起作用,我可以毫无问题地添加两个具有相同昵称的用户。关于如何解决此问题的任何线索? 最佳答案 好吧,我一直在努力解决这个确切的问题并解决了它。在config/locales/models.js中将migrate:'safe'更改为migrate:'alter'。提起你的申请。如果您的唯一字段中有

mongodb - 如何使用 MongoDB 聚合框架查找组中的最新项目?

我有一个存储消息的集合,它看起来像这样:idsenderreceiverdate------------------------11230-May-153:14:48PM22130-May-153:16:28PM31330-May-153:20:00PM41230-May-153:21:48PM53230-May-153:25:15PM64130-May-153:30:05PM发件人包含发送消息的人的ID,接收者包含将接收消息的人的ID。我想创建一个最近的联系人列表。也就是说,找到某个人(作为发送者或接收者)说过话的所有人,按日期降序排列。如果重复,我只需要保留最近的联系方式。例如:如

mongodb - 当模型验证失败时,Sails 不会显示错误

在我使用MongoDB的生产环境中,每当模型验证失败时它什么都不显示,而在我没有数据库的开发环境中它显示如下:{"error":"E_VALIDATION","status":400,"summary":"10attributesareinvalid","model":"Restaurant","invalidAttributes":{...}}我需要我的API来显示这些验证错误。 最佳答案 您可以将验证错误作为响应返回:例如(在Controller内部):create:function(req,res,next){......Us

java - 与 MongoDB 和 Java 8 一起使用的 Play-Framework 2.4.x

我正在使用Play-Framework2.4.x、MongoDB和Java8创建一个项目。但是对于Play-Framework,Java没有好的mongo插件。Play-Framework在模块部分提到了一些插件,例如Jongo、Mongo-Morphia,但都较旧且更新已关闭。我可以选择将Spring-Data-Mongo与Play-Framework一起使用,但我的首要任务是支持和更新Play-Framework和Java。请推荐我,有没有好的插件? 最佳答案 要使用MongoDBwithPlayframeworkforJava

mongodb - 我可以在 mongo db 的 "$first"操作中的两个字段上使用 "$group"运算符吗?

考虑数据集{"_id":{"$oid":"aaa"},"student_id":0,"type":"exam","score":54.6535436362647}{"_id":{"$oid":"bbb"},"student_id":0,"type":"quiz","score":31.95004496742112}{"_id":{"$oid":"ccc"},"student_id":0,"type":"homework","score":14.8504576811645}{"_id":{"$oid":"ddd"},"student_id":0,"type":"homework","sc

php - 多个脚本共享的 MongoDB 服务器端聚合查询

我们有一个MongoDB数据库,我们使用聚合框架从不同来源提取数据。python脚本生成pdf报告,我们的仪表板绘制由php后端提取的数据图表。这些脚本大多使用相同的聚合管道,但代码在python和php中被复制。我们想让查询独立于框架,也是因为我们计划将后端从php移动到python,并且通常是为了避免代码复制。我认为一种解决方案是将查询放在JS文件中,或者以某种方式将它们存储(在mongo上)服务器端,但我不确定这是否可行。对于那些喜欢引用MySql的人,我们想要类似MongoDB上的MySqlViews的东西。有什么建议吗?编辑1:我正在试验server-sideJavascri

java - Spring mongodb 标准

我将SpringData与Mongodb结合使用,但遇到了一个问题。我不能用这个在我的存储库中执行我的条件查询:@Query("{'name':/.*?0.*/}")publicListfindByName(Stringname);让它发挥作用的好方法是什么?我需要简单的条件,名称包含参数。用这个注解请求的好方法是什么? 最佳答案 尝试使用$regex查询表达式中的运算符:@Query("{'name':{'$regex':?0,$options:'i'}}")publicListfindByName(Stringname);正则表

mongodb - 我们可以在 findAll 中给出多个东西吗

我有一个Employee域,其中包含Professional_id。Professional域里面有个叫level的字段。现在我想提取同一级别的所有员工。如何编写查询?我想要类似的东西defemp=Employee.findAllByProfessional_id(Professional.findAllByLevel(5))员工域-:classEmployee{StringusernameStringpasswordStringreg_noStringdesignationStringpersonal_idStringprofessional_idstaticconstraints=

mongodb - com.mongodb.MongoException : not authorized for insert on myworld. 用户

只是想在这里检查一下,有没有人遇到过这个问题Causedby:com.mongodb.MongoException:notauthorizedforinsertonmyworld.Usersatcom.mongodb.CommandResult.getException(CommandResult.java:100)[mongo-java-driver-2.10.1.jar:]atcom.mongodb.CommandResult.throwOnError(CommandResult.java:134)[mongo-java-driver-2.10.1.jar:]atcom.mongo

mongodb - spring data mongodb 按集合查找

我正在使用spring-data-mongodb。这是我的Controller方法:Controller:@RequestMapping(value="/getByCategory",method=RequestMethod.GET,consumes=MediaType.APPLICATION_JSON,produces=MediaType.APPLICATION_JSON)publicIterablegetByCategory(@RequestParam(value="categories")Listcategories)throwsEntityNotFoundException{I